package com.ljx.lambda.lambda01;

/**
 * @author LJX
 * @Description: TODO
 * @Date: 2022/11/3 14:24
 * @Version 1.0
 */
public class Test01 {
	public static void main(String[] args) {
		// 第一种传入lambda表达式方法(因为形参列表为空所以只需保留括号即可)
		Ljx l=()->{
			System.out.println("这是无参无返回值的lambda表达式");
		};
		fun(l);
		// 第二种传入lambda方式
		fun(()->{System.out.println("这是无参无返回值的lambda表达式");});
		// 第三中传入方式(如果执行语句只有一句，而且没有返回值则{}大括号可以省略.
		// 如果有返回值，又想去掉大括号，则 需要将return也给省略掉，而且执行语句也必须只有一句)
		Ljx li=()-> System.out.println("这是无参无返回值的lambda表达式");
		fun(li);
	}
	public static void fun(Ljx ljx){
		ljx.ljx();
	}
}
/**
 * 自定义函数式接口，无参无返回值
 */
@FunctionalInterface
interface Ljx{
	/**
	 * 函数式接口的抽象方法
	 */
	void ljx();
}